查看原文
其他

新增原生平台支持,Cocos Creator 3D v1.0.3 正式发布

Panda COCOS 2022-06-10

Hi,各位开发者,经过一段时间的测试验证,Cocos Creator 3D v1.0.3 今日正式发布啦!这个版本可以说是 Cocos Creator 3D 自诞生以来最重要的一个版本,或者说是真正的完全体!因为从 v1.0.3 开始 Cocos Creator 3D 正式支持原生平台。



除了继续扩大平台支持以外,在易用性和上手门槛上我们也做了大量的优化工作,以及无数细节上的功能增强,相信这个版本可以满足绝大部分轻度休闲品类游戏的制作。


在 2020 年春节后,引擎组将继续投入到 v1.1 的开发当中去,届时我们会有更多重要的功能特性更新以及性能优化,将会不断提升 Cocos Creator 3D 产品的优势以及对品类的支撑能力。


欢迎大家移步官网下载使用!以下是 v1.0.3 完整更新说明。为保证阅读体验,[参考链接]统一放在文末!



重点功能  


1. 原生平台支持


从 v1.0.3 开始,大家可以正式打包 iOS、Android、Windows、Mac OS X 原生包,继续基于 Creator 一直以来的原生积累,提供给大家最统一的跨平台开发体验。原生发布的详细使用说明请参考[发布文档]



2. 小游戏平台支持


我们继续新增了 [Cocos Play]、小米快游戏、支付宝小游戏三个小游戏平台的支持,请大家参考[各个平台的发布文档]。


 3. Async Await !


对!我们响应大家的呼唤,提前了 Async Await 的支持,只需要在构建时,勾选 “异步函数”/"Async Functions" 就可以自由在项目中使用了。除此之外,脚本系统还增加了一些新的特性支持,比如:

  • 选链(Optional Chaining)支持

  • 空值合并(Nullish Coalescing)支持

  • 移除 INode 和 IBaseNode

  • 某些循环引用行为将在运行检测并作出警告

  • 增加 core-js polyfills 来帮助部分平台补全 ES6 支持


4. 动画编辑器优化


v1.0.3 动画编辑器增加了分量动画功能,支持针对 Vec2、Vec3、Vec4、Color 等类型的分量拆分轨道制作动画帧。


同时还增加了同类型的属性轨道的复制、粘贴功能(目前仅支持单轨道);在选中多个关键帧后高亮中间线条,并支持拖拽中间线条来移动关键帧。



5. 增加 Ammo.js 物理模块


为了尝试提供更多的可能性,我们增加了 Ammo.js 物理后端,会在将来支持 wasm 构建出的 Ammo 物理引擎(原生实现是 bullet),将会给物理游戏赋予更高的性能和更多可能性。物理方面,我们还初步增加了胶囊体支持(暂时仅支持 builtin)。


6. 重构 Tween 模块


之前 Tween 模块的使用方式不是非常友好,在内部的审核和讨论后,我们决定将这个模块的 API 和使用方式和 Cocos Creator 2.x 统一起来,在 v1.0.3 中已完成重构,请[参考文档]。


7. UI 功能强化


UI 做了大量的功能强化工作,比如:

  • Editbox 重构和跨平台支持优化

  • 透明度级联组件 UIOpacity

  • Mask 反向遮罩功能

  • 多点触摸开关功能


8. 带搜索功能的添加组件窗口


在节点 Inspector 中,用户选择添加组件时,将看到组织更清晰的组件选择面板,还可以通过搜索来快速寻找想要添加的组件。



部分注意事项和 Breaking Changes


1. Ammo.js 物理后端已知问题


  • 刚体球和盒碰撞时存在抖动(会影响到表现和事件)

  • 物理材质的回弹系数比较大时,会导致事件不准确

  • 使用物理 ammo.js 时,刚体组件的 Factor 属性在底层的中的表现作用在力和冲量上,与 cannon.js 不同( cannon.js 作用在速度上面,未来可能会调整成一样的)


2. 材质和合批


  • 蒙皮模型和动态合批的开关全部挪到了材质里,虽然导入 glTF 生成的材质和目前项目已有的材质做了迁移,但任何接下来用户直接新建的材质,都需要在材质里手动指定是否要开启蒙皮或合批

  • 由于资源化渲染管线对启动顺序的影响,所有用户脚本内,在 require 时期创建的 material 将全部失效,最后显示效果为纯黄色(effect 丢失),需要挪到 onLoad 等时期再创建


3. 平台特性支持


除了微信小游戏平台外,暂时还不支持小米和支付宝小游戏平台上的分包功能,此功能会在以后版本完善。


在打包微信小游戏过程中,如果你勾选了引擎插件功能,会发现有报错,请按照[这个说明贴]中的方法进行修复,这些修复也将合并在下一个版本中。


4. TexturePacker 支持


3D 引擎中不再支持 3.x 版本以下的图集格式,导入是会报错的,推荐使用的版本是 4.x。



编辑器详细更新说明


  • [FEATURE]支持原生平台构建(Mac、Windows、Android、iOS)

  • [FEATURE]支持 Cocos Play、小米快游戏、支付宝小游戏三个小游戏平台支持

  • [FEATURE]动画编辑器重构,新增 Vec2、Vec3、Color 的分量动画曲线支持

  • [FEATURE]动画编辑器增加同类型的属性轨道复制/粘贴功能

  • [FEATURE]选中关键帧后高亮中间线条,并允许拖拽中间线条移动关键帧

  • [FEATURE]支持在构建时勾选异步函数来开启 Async Await 等函数支持

  • [FEATURE]新增带搜索功能的添加组件窗口

  • [FEATURE]完善实验室版本地形系统,优化编辑体验,地形数据资源化

  • [FEATURE]添加 UI 空间的对齐按钮(场景面板顶部 Toolbar)

  • [FEATURE]Inspector 面板允许复制组件和只粘贴值

  • [FEATURE]为模型导入切割出的子动画提供 FPS 设置功能

  • [FEATURE]新增 RenderTexture 资源类型(.rt)

  • [FEATURE]立方体贴图导入器添加贴图参数设置

  • [FEATURE]Material 面板上新增定位 Effect 文件的功能

  • [FEATURE]层级管理器面板和资源管理器面板的右键菜单中新增拷贝 uuid 和 path 功能

  • [FEATURE]增强地形编辑功能

  • [FEATURE]新增资源面板右键菜单及功能:在文件夹内搜索

  • [FEATURE]新增其他小游戏平台的自定义构建模板支持

  • [FEATURE]增加了 core-js polyfills,在各个平台完善 ES6 支持

  • [FEATURE]新增实验室功能:资源化的 Programmable Rendering Pipeline

  • [IMPROVE]重构构建流程,完全插件化,让平台扩充更轻松

  • [IMPROVE]重构 Undo/Redo 系统

  • [IMPROVE]独立实现编辑器依赖的数学库

  • [IMPROVE]修改 RenderableComponent的材质动画属性为 materials

  • [IMPROVE]在属性检查器中编辑图片资源时,对应的 sub asset 也一同显示可以编辑

  • [IMPROVE]将 gizmo 的材质引用变为运行时的材质实例

  • [IMPROVE]完善场景内材质资源的迁移流程,支持 sub asset 级迁移

  • [IMPROVE]统一新建资源和节点的名称格式

  • [IMPROVE]优化 FBX 导入时的贴图查找算法

  • [IMPROVE]模型资源 FBX & glTF 的 inspector 面板支持多语言

  • [IMPROVE]FBX 和 Javascript 资源导入器的多语言提示

  • [IMPROVE]对包含蒙皮模型的 glTF 模型导出的材质中自带骨骼动画支持

  • [IMPROVE]优化了某些导入器的报错消息,附加上了被导入资源的 UUID

  • [IMPROVE]防止资源面板数据迁移时报错的情况下导致的死循环问题

  • [IMPROVE]场景面板 Toolbar 插件化

  • [IMPROVE]节点编辑状态下优化材质编辑的方式,改为在同一个界面同时显示组件和材质信息

  • [IMPROVE]加快创建 prefab 节点时层级面板上的显示速度

  • [IMPROVE]减少生成多节点时的查询次数

  • [IMPROVE]防止一些情况下在场景初始化之前发送 ipc 请求

  • [IMPROVE]新增私有节点时层级面板增加容错机制

  • [IMPROVE]将摄像机预览面板从开发者菜单移到面板菜单下

  • [IMPROVE]在构建时自动检测引擎修改以及重新构建引擎

  • [IMPROVE]增加打开版本不匹配或项目类型不匹配时的警告

  • [IMPROVE]增加偏好设置面板的 saving 提示

  • [IMPROVE]优化退出动画编辑模式时面板闪烁的问题

  • [IMPROVE]在脚本资源 library 缺失时不报错

  • [IMPROVE]优化各个面板使用的 ui 和图标

  • [FIX]修复粒子 Gizmo 位置和渲染可能不正确的问题

  • [FIX]修复 prefab 里的动画编辑退出后 info bar 消失的问题

  • [FIX]修复了材质属性面板贴图可能不显示的问题

  • [FIX]修复了节点折叠状态在切换编辑模式后还原不正确的问题

  • [FIX]修复了某些特殊的 binary 格式 glTF 模型无法解析的问题

  • [FIX]修复了某些情况下,构建脚本时脚本会被重复包含的问题

  • [FIX]修复了循环引用提示功能里面,对 type-only-used 标识符的错误处理

  • [FIX]修复动画挂点无法正确获取的问题

  • [FIX]修复 FBX 属性检查器页面 dump material 无法使用的问题

  • [FIX]修复资源移动因 .meta 文件存在而被阻止的问题

  • [FIX]修复 Mac 平台构建的时候资源可能被删除的问题

  • [FIX]修复粒子 multiply effect 计算错误

  • [FIX]修复 prefab 节点在丢失资源的情况下 undo 报错

  • [FIX]修复删除部分组件后 undo 报错

  • [FIX]修复动画编辑中无法复制资源关键帧的问题

  • [FIX]修复动画编辑器中对 sprite frame 属性进行 undo 的问题

  • [FIX]修复取消选中节点后动画编辑器的状态显示

  • [FIX]修复动画编辑器中材质的贴图属性无法打关键帧的问题

  • [FIX]修复退出动画编辑,prefab 会重新生成节点的问题

  • [FIX]修复场景相机离模型很近时,无法使用移动 Gizmo 的问题

  • [FIX]修复粒子组件曲线角度值的显示



引擎详细更新列表


  • [FEATURE]完善物理多后端支持,新增 Ammo.js 后端

  • [FEATURE]将 Tween API 与 Cocos Creator 2.x 同步

  • [FEATURE]SpriteComponent 组件新增 tiled 模式

  • [FEATURE]给 PhysicsSystem 添加 useFixedTime 属性以避免事件不准确和抖动的问题

  • [FEATURE]Builtin 物理中新增胶囊体(暂不支持其他物理引擎)

  • [FEATURE]新增 UIOpacity 组件用于实现 UI 节点的透明度级联

  • [FEATURE]在 Camera 组件中提供 3D 世界坐标系转换到 UI 节点坐标系的方法 convertToUINode

  • [FEATURE]Mask 支持使用 Graphics 作为蒙版(使用方法可参考 test-cases-3d)

  • [FEATURE]Mask 组件支持反向遮罩

  • [FEATURE]新增多点触控开关:macro.ENABLE_MULTI_TOUCH

  • [FEATURE]动画系统支持分量和 Uniform 属性作为动画数据

  • [FEATURE]实验室版本可编程渲染管线初步实现

  • [IMPROVE]优化引擎构建流程,缩减引擎构建包体

  • [IMPROVE]重构 Model 的内存管理模式

  • [IMPROVE]支持计算骨骼动画的包围盒

  • [IMPROVE]重构 AnimationClip,使用动画数据仓库来增强复用和优化动画数据组织

  • [IMPROVE]新增内部材质实例,便于共享和实例化

  • [IMPROVE]节点 TRS 事件改为复用 Node.TransformBit 中的位标记

  • [IMPROVE]将 UIComponent 的 priority 属性移动到 UITransform 组件上,新建 2D 节点默认添加 UITransform 组件

  • [IMPROVE]在 Layout 的排列方向改变时重新调整一次子节点的位置以对齐

  • [IMPROVE]优化 UIStaticBatchComponent 的 API 设计以及添加 clear 操作

  • [IMPROVE]使用 materials 属性取代 sharedMaterials 用于动画编辑

  • [IMPROVE]移除 INode 和 IBaseNode 接口

  • [IMPROVE]重构节点中 UI 相关属性的组织方式,统一迁移到一个 NodeUIProperties 类型属性 _uiProps 下

  • [IMPROVE]更新 Cannon 到 1.0.5 版本,修复 trigger 事件不准确问题

  • [IMPROVE]复用 canvas 来管理 Label 贴图

  • [IMPROVE]同步 Creator 中的 Editbox 组件实现和跨平台实现

  • [IMPROVE]重构引擎启动流程以适应可编程渲染管辖的加载需求

  • [IMPROVE]优化 Profiler 信息的文字尺寸计算

  • [IMPROVE]UICoordinateTracker 增加对 Camera 更新的监听和重新计算

  • [IMPROVE]在 shader 完成 link 之后立即卸除并释放

  • [IMPROVE]优化骨骼动画的材质编译和包围盒计算

  • [FIX]修复 UI 静态合批组件可能导致的 buffer 越界问题

  • [FIX]在部分不支持 gl.UNSIGNED_INT 的平台将顶点 index 的格式适配到 short

  • [FIX]修复贴图为空时的插屏逻辑

  • [FIX]在部分不支持的平台关闭 WebGL 2.0 和 VAO 的使用

  • [FIX]修复点光源的剪裁

  • [FIX]修复阴影在部分平台上由于 z-fighting 导致的闪烁问题

  • [FIX]修复 Layout 类型变化时可能导致的错误

  • [FIX]修复深度缓冲在部分小游戏平台上的兼容性问题

  • [FIX]修复多 UI Canvas 共存时的渲染闪动问题

  • [FIX]修复 ScrollView 运动过程中可能产生的贴图拼接缝隙问题

  • [FIX]修复 ScrollView 的 elastic 属性表现

  • [FIX]修复 Label 在 shrink 模式下宽度仍然越界的问题

  • [FIX]修复重置 ImageAsset 时的错误表现

  • [FIX]修复传递 w 为 0 时导致的 Quat 构造结果错误

  • [FIX]修复 ArrayBufferView 在部分设备上的动画数据解析问题

  • [FIX]修复 SpriteFrame 代码中的不统一性

  • [FIX]修复物理 body 在添加或移除 shape 后被自动重新启用的问题

  • [FIX]修复粒子拖尾的一些渲染问题

  • [FIX]修复编辑器窗口下场景视图并非半透明的问题

  • [FIX]修复一个由对象释放引起的混合表现错误(导致 UI 闪屏)

  • [FIX]修复 iOS Safari 下导航栏下拉可能导致的触摸位置错误问题

  • [FIX]避免 Loader 中可能出现的 ownerQueue 为空的问题

  • [FIX]修复对骨骼的 raycast 计算

  • [FIX]修复骨骼模型的释放问题

  • [FIX]修复了当存在全局标识符 cc 声明时(如 import * as cc from 'cc')脚本执行报错的问题

  • [FIX]修复了项目使用的引擎类型声明文件(cc.d.ts)某些错误




参考链接      

[发布文档]

https://docs.cocos.com/creator3d/manual/zh/editor/publish/publish-native.html


 [Cocos Play]

https://gamebox.cocos.com/


[各个平台的发布文档]

https://docs.cocos.com/creator3d/manual/zh/editor/publish/


[参考文档]

https://docs.cocos.com/creator3d/manual/zh/tween/


[这个说明贴]

https://forum.cocos.org/t/v1-0-3/88530/2


[下载地址]

https://www.cocos.com/creator3d


以上就是 Cocos Creator 3D v1.0.3 更新内容,感谢所有开发者对 Cocos Creator 3D 的支持。良好的品质离不开细心的打磨,Cocos 会秉持脚踏实地的精神,稳步提升产品品质。


欢迎小伙伴们继续通过论坛、GitHub、Cocos 企业服务等渠道向我们提交使用反馈!


近日我们将会邀请 Cocos Creator 3D 开发者分享原生游戏开发经验,敬请关注!



3D 游戏案例




3D 特别专题  




模块解析 | Cocos Creator 3D 材质系统 模块解析 | Cocos Creator 3D 物理系统  案例分享 | 《弹弹乐》3D 完整开发流程案例分享 | 《快上车》3D 技术实现方案技术教程 | 材质系统曲面效果如何实现?技术教程 | 从投篮小游戏入门 Creator 3D 开发技术教程 | Cocos Creator 3D 零基础入门
技术教程 | Cocos Creator 3D 蚂蚁庄园系列技术教程 | Cocos Creator 3D 素材获取版本动态 | Cocos Creator 3D 梦想再起航版本动态 | Cocos Creator 3D v1.0 正式发布版本动态 | Cocos Creator 3D v1.0.1 正式发布

我就知道你“在看”▼

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存